// pages/article/index.js
import { ArticleModel } from "../../models/article.js";
const articleModel = new ArticleModel();
import {
  promisic, transTime, formatDate
} from '../../util/common.js'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        articleType:1,
        loading: false,
        page: 1,
        dataList:null,
        total:0
    },

    artDetail(event){
        const artid=event.detail.artid;
        wx.navigateTo({
            url: `/pages/article_detail/index?artid=${artid}`
          });
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        wx.showLoading({
            title: '加载中',
          });
        //加载数据
      this.loadData(1);
      wx.hideLoading();
    },
    articleType(options){
        let type = options.currentTarget.dataset.type;
        this.setData({
            articleType: type,
            page:1
          });
          this.loadData(1);
    },
     //加载数据明细
  async loadData(page) {
    const data = await articleModel.getList(this.data.articleType,page);
    if(page!=1){
        const tempArray = this.data.dataList.concat(data.data);
        const newpage=(data.data.length>0?page:this.data.page);
        this.setData({
            dataList: tempArray,
            page:newpage,
            total: data.total,
            loading:false
          });
    }else{
        this.setData({
            dataList: data.data,
            total: data.total
          });
    }
  },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    async onReachBottom() {
        if (this._isLocked()) {
          return;
        }
        if (this._hasMore()) {
          this._locked();
          this.loadData(this.data.page + 1);
        }
      },
      _hasMore() {
        if (this.data.dataList.length >= this.data.total) {
          return false;
        } else {
          return true;
        }
      },
      _isLocked() {
        return this.data.loading ? true : false;
      },
      _locked() {
        this.setData({
          loading: true
        });
      },
      _unLocked() {
        this.setData({
          loading: false
        });
      },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})